package com.prs.crm.service.crm;

import java.io.File;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import com.prs.crm.domain.crm.Customer;
import com.prs.crm.domain.crm.CustomerAgent;
import com.prs.crm.domain.crm.CustomerSupplier;
import com.prs.crm.domain.crm.CustomerTrade;
import com.prs.crm.domain.hr.Person;
import com.prs.crm.service.BaseService;

public interface CustomerService extends BaseService<Customer>{
	public void saveCustomer(Customer customer,File file,String fileName);
	public void saveCustomers(Customer customer,File file,String fileName);
	Collection<?> getCustomerTypeReport(Date beginTime, Date endTime);
	Collection<?> getCustomerBusinessReport(Date beginTime, Date endTime);
	Collection<?> getReportSouce(Date dates, Person person, Integer type, String merit);
	Collection<Customer> getAllCustomer();
	Collection<Customer> getAllLiaisonCustomers();
	boolean existSameCustomer(String name);
	Collection<Customer> getAllNoneLiaisonCustomers(String tradeIds);
	Collection<Customer> getCustomerAddReportSouce(Date dates, Integer type);
	Collection<CustomerTrade> convertToDeptDocTrade(String ids);
	Collection<Customer> getCustomerByLay();
	boolean existSamecustomercode(String code);
	
	/**
	 * 查询代理商关联客户
	 */
	List<Customer> getCustomerByAgent(CustomerAgent customerAgent);
	/**
	 * 查询供应商关联客户
	 */
	List<Customer> getCustomerBySupplier(CustomerSupplier customerSupplier);
}
